<?php
// 接口-来料接口
namespace interface\v1;

use verify;

class materialInspectionClass extends index
{
	private const page  = 'materialInspection';
	private const table = 'quality_order';
	private const title = '来料检验';
	
	public function search()
	{
		$this->code         = 1;
		$this->resp['data'] = [
			'orderNo' => '单据条码',
			'state'   => [
				'待质检', '已质检',
			],
		];
	}
	
	/**
	 * 列表
	 *
	 * @return void
	 */
	public function list(): void
	{
		//获取查询结果
		$where = " a.type = 1 ";
		$where .= search([
			"="    => [
				'a.coid' => self::$coid,
			],
			'like' => [
				'a.orderNo' => $this->post('orderNo'),
			],
			"in"   => [
				'a.state' => $this->post('state') ? (($this->post('state') === '待质检') ? ['待质检', '草稿'] : [$this->post('state')]) : ['待质检', '草稿'],
			],
		]);
		
		$page  = $this->page([
			"table" => self::table . " as a join material as b on a.materialId = b.id",
			'field' => "a.*, b.name, b.code, b.model",
			"where" => $where,
			"order" => " a.time desc, a.list asc",
		]);
		//数据分析
		$data['result'] = [];
		foreach ($page['array'] as $array) {
			$supplier         = query('supplier', "id = '$array[targetId]'");
			$materialSku      = query('material_sku', "id = '$array[materialSkuId]'");
			$purchaseGetOrder = query('purchase_get_order', "id = '$array[sourceId]'");
			$data['result'][] = [
				"id"           => $array['id'],
				'orderNo'      => $array['orderNo'],
				'code'         => $array['code'],
				'material'     => $array['name'] . ' - ' . $array['model'] . ' - ' . $materialSku['name'],
				'supplierName' => $supplier['name'],
				'batch'        => $array['batch'],
				"state"        => $array['state'],
				'time'         => self::formatDate($array['time'], 'Y/m/d'),
			];
		}
		$data['page'] = $page['para'];
		//返回
		$this->code         = 1;
		$this->resp['data'] = $data;
	}
	
	
	// /**
	//  * 选择物料
	//  */
	// public function material()
	// {
	// 	$waid = $this->post('waid');
	// 	if (!$waid) {
	// 		$this->resp['warn'] = '请选择仓库';
	// 	} else {
	// 		$materialId = $this->post('materialSkuId') ? explode(',', $this->post('materialSkuId')) : [];
	// 		$where      = " 1=1 and b.id not in ('" . implode("','", $materialId) . "')";
	// 		$and        = " AND a.coid = '" . self::$coid . "' ";
	// 		$like       = [
	// 			'a.name'    => $this->post('materialName'),
	// 			'b.barcode' => $this->post('code'),
	// 			// 'model'  => $this->post('model'),
	// 		];
	// 		$equal      = [
	// 			'a.state' => '启用',
	// 			// 'a.typeId' => $this->post('type'),
	// 		];
	// 		$where      .= search(["like" => $like, "=" => $equal]) . $and;
	// 		$orderBy    = $this->orderBy([
	// 			"search"  => $this->post('orderBy') ?: null,
	// 			"default" => "创建时间降序",
	// 			"array"   => [
	// 				"b.time"       => ["asc" => "创建时间升序", "desc" => "创建时间降序", "site" => 2],
	// 				"b.updateTime" => ["asc" => "更新时间升序", "desc" => "更新时间降序", "site" => 3],
	// 			],
	// 		]);
	// 		$page       = $this->page([
	// 			"table"   => "material as a join material_sku as b on a.id = b.materialId",
	// 			"field"   => "a.*, b.name as skuName, b.barcode as skuCode, b.id as materialSkuId",
	// 			"where"   => " $where ",
	// 			'pageNum' => 50,
	// 			"order"   => $orderBy['orderBy'],
	// 		]);
	// 		$result     = [];
	// 		//获取记录
	// 		foreach ($page['array'] as $array) {
	// 			// 物料编码  物料名称  品牌 规格型号 属性 库存 可用库存 物料id 物料属性id
	// 			$warehouse    = query('warehouse', " id = '$waid'");
	// 			$inventoryNum = inventoryBalanceClass::inventoryNum($array['materialSkuId'], $waid);
	// 			$result[]     = [
	// 				'materialId'      => $array['id'],
	// 				'materialSkuId'   => $array['materialSkuId'],
	// 				'name'            => $array['code'] . ' ' . $array['name'] . $array['model'],
	// 				'code'            => $array['code'],
	// 				'brand'           => $array['brand'],
	// 				'model'           => $array['model'],
	// 				'materialSkuName' => $array['skuName'],
	// 				'materialSkuCode' => $array['skuCode'],
	// 				'num'             => $inventoryNum,
	// 				'unit'            => $array['unit'],
	// 				'unitOption'      => inventoryBalanceClass::materialUnit($array['id']),
	// 				'availableNum'    => $inventoryNum,
	// 				'warehouseId'     => $waid,
	// 				'warehouseName'   => $warehouse['name'],
	// 			];
	// 		}
	// 		$orderByArr         = [
	// 			'创建时间降序',
	// 			'创建时间升序',
	// 			'更新时间降序',
	// 			'更新时间升序',
	// 		];
	// 		$this->resp['data'] = [
	// 			'result'  => $result,
	// 			'page'    => $page['para'],
	// 			'orderBy' => $orderByArr,
	// 		];
	// 		$this->code         = 1;
	// 	}
	// }
	//
	// public static function getArrVal($field, $detail): array
	// {
	// 	return (self::isNull($detail)) ? [] : array_column($detail, $field);
	// }
	//
	// /**
	//  * 编辑
	//  */
	// public function edit(): void
	// {
	// 	$detail           = !empty($_POST['detail']) ? json_decode($_POST['detail'], true) : [];
	// 	$id               = $this->post('id') ?: self::getId();
	// 	$mxIdArr          = $this->post('mxId') ?: self::getArrVal('id', $detail);
	// 	$materialSkuIdArr = $this->post('materialSkuId') ?: self::getArrVal('materialSkuId', $detail);
	// 	$unitArr          = $this->post('unit') ?: self::getArrVal('unit', $detail);
	// 	$numArr           = $this->post('num') ?: self::getArrVal('num', $detail);
	// 	$priceArr         = $this->post('price') ?: self::getArrVal('price', $detail);
	// 	$mxTextArr        = $this->post('mxText') ?: self::getArrVal('mxText', $detail);
	// 	$warehouseArr     = $this->post('warehouseId') ?: self::getArrVal('warehouseId', $detail);
	// 	$field            = [
	// 		'warehouseId' => $this->post('waid'),
	// 		'targetId'    => $this->post('targetId'),
	// 		'orderDate'   => $this->post('orderDate'),
	// 		'text'        => $this->post('text'),
	// 	];
	// 	$annotation       = [
	// 		'warehouseId' => '仓库',
	// 		'targetId'    => '供应商',
	// 		'orderDate'   => '单据日期',
	// 		'text'        => '备注',
	// 	];
	// 	$rules            = [
	// 		'warehouseId' => 'required',
	// 		'targetId'    => 'required',
	// 		'orderDate'   => 'required|date',
	// 		// 'text'           => 'required',
	// 	];
	// 	// 校验是否符合规则
	// 	$vt     = new verify();
	// 	$result = $vt->setAliases($annotation)->validate($field, $rules)->isOk();
	// 	if ($result === false) {
	// 		$this->resp['warn'] = $vt->getErrs()[0]; // 多个规则提示最前面一条
	// 		goto resp;
	// 	}
	// 	$where = " coid = '" . self::$coid . "' AND id = '$id' ";
	// 	$info  = query(self::table, $where);
	// 	//判断
	// 	if (!$this->power(self::page, "edit")) {
	// 		$this->resp['warn'] = "你没有编辑" . self::title . "的权限";
	// 	} elseif (self::is_null_array($mxIdArr)) {
	// 		$this->resp['warn'] = '请选择质检明细';
	// 	} elseif (self::is_null_array($materialSkuIdArr)) {
	// 		$this->resp['warn'] = '请选择质检明细';
	// 	} elseif (self::is_null_array($numArr)) {
	// 		$this->resp['warn'] = '数量请填写完整';
	// 	} elseif (self::is_null_array($priceArr)) {
	// 		$this->resp['warn'] = '价格请填写完整';
	// 	} elseif (self::is_null_array($unitArr)) {
	// 		$this->resp['warn'] = '请选择主单位';
	// 	} elseif (self::is_null_array($warehouseArr)) {
	// 		$this->resp['warn'] = '请选择质检仓库';
	// 	} elseif (!empty($info['id']) && $info['state'] == '已质检') {
	// 		$this->resp['warn'] = '此质检单已质检，不能修改';
	// 	} else {
	// 		$this->startTrans();
	// 		$isPass = true;//事务通过标志
	// 		if (!$info['id']) {
	// 			$state              = (!empty($this->header['Source']) && strtoupper($this->header['Source']) === 'PDA') ? '待质检' : '草稿';
	// 			$orderNo            = self::generateCode(self::page, [
	// 				'prefix' => 'QTRK' . date('Ymd'),
	// 				'table'  => self::table,
	// 				'field'  => 'orderNo',
	// 				'where'  => '',
	// 			], $field);
	// 			$field              = array_merge($field, [
	// 				'id'          => $id,
	// 				'orderNo'     => $orderNo,
	// 				'type'        => '其他质检',
	// 				'subCategory' => '其他质检',
	// 				'classify'    => 1,
	// 				'state'       => $state,
	// 				'coid'        => self::$coid,
	// 				'stid'        => $this->control['stid'],
	// 			]);
	// 			$this->resp['warn'] = static::insert(["table" => self::table, "field" => $field,]);
	// 		} else {
	// 			$this->resp['warn'] = static::update([
	// 				"table" => self::table,
	// 				"field" => $field,
	// 				"where" => $where,
	// 			]);
	// 		}
	// 		//添加或更新报价单明细
	// 		if (is_array($mxIdArr)) {
	// 			foreach ($mxIdArr as $k => $nid) {
	// 				$mx          = query(self::tableMx, "id = '$nid'");
	// 				$materialSku = query('material_sku', "id = '$materialSkuIdArr[$k]'");
	// 				if (!empty($mx['id'])) {
	// 					//更新
	// 					$warn = static::update([
	// 						"table" => self::tableMx,
	// 						"field" => [
	// 							'materialId'    => $materialSku['materialId'],
	// 							'materialSkuId' => $materialSkuIdArr[$k] ?: '',
	// 							'num'           => $numArr[$k] ?: 0,
	// 							'price'         => $priceArr[$k] ?: 0,
	// 							'unit'          => $unitArr[$k] ?: '',
	// 							'warehouseId'   => $warehouseArr[$k] ?: '',
	// 							'money'         => round($numArr[$k] * $priceArr[$k], 2),
	// 							'text'          => $mxTextArr[$k] ?: '',
	// 						],
	// 						"where" => " id = '$nid'",
	// 					]);
	// 				} else {
	// 					//新增
	// 					$warn = static::insert([
	// 						"table" => self::tableMx,
	// 						"field" => [
	// 							'id'            => $nid,
	// 							'coid'          => self::$coid,
	// 							'orderId'       => $id,
	// 							'materialId'    => $materialSku['materialId'],
	// 							'materialSkuId' => $materialSkuIdArr[$k] ?: '',
	// 							'num'           => $numArr[$k] ?: 0,
	// 							'price'         => $priceArr[$k] ?: 0,
	// 							'unit'          => $unitArr[$k] ?: '',
	// 							'warehouseId'   => $warehouseArr[$k] ?: '',
	// 							'money'         => round($numArr[$k] * $priceArr[$k], 2),
	// 							'text'          => $mxTextArr[$k] ?: '',
	// 						],
	// 					]);
	// 				}
	// 				if (!in_array($warn, ['新增成功', '更新成功'])) {
	// 					$isPass             = false;
	// 					$this->resp['warn'] = $warn;
	// 					break;
	// 				}
	// 			}
	// 		}
	// 		if (in_array($this->resp['warn'], ["新增成功", "更新成功"]) && $isPass) {
	// 			$this->commitTrans();
	// 			//是否是处理不良
	// 			if ($this->resp['warn'] == '新增成功' && $this->post('qidMxId')) {
	// 				update(array('table' => 'quality_order_reason', 'field' => array('state' => '已处理', 'dealDate' => $this->date, 'dealId' => self::$stid), 'where' => "id ='" . $this->post('qidMxId') . "' and state = '待处理' and coid = '" . self::$coid . "'"));
	// 			}
	// 			delete(['table' => self::tableMx, 'where' => " id not in ('" . implode("','", $mxIdArr) . "') and orderId = '$id'"]);
	// 			//添加日志
	// 			$type = mb_substr($this->resp['warn'], 0, 2, 'utf-8');
	// 			$text = $this->control['name'] . $type . "了" . self::title . " id：【" . $id . '】';
	// 			$this->logText(["type" => self::page, "text" => $text]);
	// 			//返回
	// 			$this->code         = 1;
	// 			$this->resp['data'] = $id;
	// 		} else {
	// 			$this->rollback();
	// 		}
	// 	}
	//
	// 	resp:
	// }
	//
	// /**
	//  * 提交
	//  */
	// public function commit()
	// {
	// 	$id    = $this->post('id');
	// 	$info  = query(self::table, " coid = '" . self::$coid . "' AND id = '$id'");
	// 	$field = [
	// 		'state' => '待质检',
	// 	];
	// 	if (!$this->power(self::page, 'edit')) {
	// 		$this->resp['warn'] = '你还没有编辑权限';
	// 	} elseif (empty($info['id'])) {
	// 		$this->resp['warn'] = '未找到此其他质检单';
	// 	} elseif ($info['state'] != '草稿') {
	// 		$this->resp['warn'] = '此报价单不是草稿状态，不能提交';
	// 	} else {
	// 		$this->resp['warn'] = update(array(
	// 			"table" => self::table,
	// 			"field" => $field,
	// 			"where" => "id = '$info[id]'",
	// 		));
	// 		if (in_array($this->resp['warn'], ["新增成功", "更新成功"])) {
	// 			auditingFollow([
	// 				"type"   => "其他质检单",
	// 				"typeId" => $info['id'],
	// 				"text"   => "【{$this->control['name']}】提交",
	// 			]);
	// 			//添加日志
	// 			$type = mb_substr($this->resp['warn'], 0, 2, 'utf-8');
	// 			$text = $this->control['name'] . $type . "了" . self::title . "id：【" . $id . '】';
	// 			$this->logText(["type" => self::page, "text" => $text]);
	// 			$this->code = 1;
	// 		}
	// 	}
	// 	resp:
	// }
	//
	// /**
	//  * 确认质检
	//  */
	// public function confirmEdit()
	// {
	// 	$id    = $this->post('id');
	// 	$info  = query(self::table, " coid = '" . self::$coid . "' AND id = '$id'");
	// 	$field = [
	// 		'state' => '已质检',
	// 	];
	// 	if (!$this->power(self::page, 'confirm')) {
	// 		$this->resp['warn'] = '你还没有确认权限';
	// 	} elseif (empty($info['id'])) {
	// 		$this->resp['warn'] = '未找到此其他质检单';
	// 	} elseif ($info['state'] === '已质检') {
	// 		$this->resp['warn'] = '此申请是已质检状态，不能确认';
	// 	} else {
	// 		$this->startTrans();
	// 		$isPass             = true; // 事务通过标志
	// 		$this->resp['warn'] = update([
	// 			"table" => self::table,
	// 			"field" => $field,
	// 			"where" => "id = '$info[id]'",
	// 		]);
	// 		if (in_array($this->resp['warn'], ["新增成功", "更新成功"]) && $isPass === true) {
	// 			$details = find([
	// 				'table' => self::tableMx,
	// 				'where' => " orderId = '{$info['id']}'",
	// 			]);
	// 			foreach ($details['array'] as $value) {
	// 				// 转换主单位
	// 				$mainUnitNum = inventoryBalanceClass::toMainUnit($value['materialSkuId'], $value['num'], $value['unit']);
	// 				insert([
	// 					'table' => self::tableRecord,
	// 					'field' => [
	// 						'id'            => self::getNo(),
	// 						'coid'          => self::$coid,
	// 						'warehouseId'   => $value['warehouseId'],
	// 						'materialId'    => $value['materialId'],
	// 						'materialSkuId' => $value['materialSkuId'],
	// 						'num'           => abs($mainUnitNum),
	// 					],
	// 				]);
	// 			}
	// 			$this->commitTrans();//提交事务
	// 			auditingFollow(array(
	// 				"type"   => "其他质检单",
	// 				"typeId" => $info['id'],
	// 				"text"   => "【{$this->control['name']}】确认",
	// 			));
	// 			//添加日志
	// 			$type               = mb_substr($this->resp['warn'], 0, 2, 'utf-8');
	// 			$text               = $this->control['name'] . $type . "了" . self::title . "id：【" . $id . '】';
	// 			$this->resp['data'] = [
	// 				'id'      => $info['id'],
	// 				'orderNo' => $info['orderNo'],
	// 			];
	// 			$this->logText(["type" => self::page, "text" => $text]);
	// 			//返回
	// 			$this->code = 1;
	// 		}
	// 	}
	//
	// 	resp:
	// }
	//
	// /**
	//  * 删除
	//  *
	//  * @return void
	//  */
	// public function delete(): void
	// {
	// 	$array = $this->post('listId') ?? $this->post('id');
	// 	if (!$this->power(self::page, "del")) {
	// 		$this->resp['warn'] = "你没有删除的权限";
	// 	} elseif (empty($array)) {
	// 		$this->resp['warn'] = "你一个数据都没有选择呢";
	// 	} else {
	// 		$text  = "";
	// 		$x     = 0;
	// 		$array = is_array($array) ? $array : [$array];
	// 		foreach ($array as $id) {
	// 			$info = query(self::table, " id = '$id' ");
	// 			if ($info['state'] == '已质检') {
	// 				$warn = "删除失败：已质检，暂不能删除";
	// 			} else {
	// 				//最后删除基本参数
	// 				delete(array("table" => self::table, "where" => " id = '$id' "));
	// 				delete(array("table" => self::tableMx, "where" => " orderId = '$id' "));
	// 				delete(array("table" => 'auditing_follow', "where" => " typeId = '$id' "));
	// 				//返回
	// 				$warn = "删除成功";
	// 				$x++;
	// 			}
	// 			$text .= self::title . "ID【" . $info['id'] . "】" . $warn . "。<br>";
	// 		}
	// 		//添加日志
	// 		$text = $this->control['name'] . "删除了" . self::title . "，结果如下：<br>" . $text;
	// 		$this->logText(array("type" => self::page, "text" => $text));
	// 		$this->resp['warn'] = "删除了" . $x . "个" . self::title . "，详情见系统日志。";
	// 		$this->code         = 1;
	// 	}
	// }
	//
	// /**
	//  * 详情
	//  *
	//  * @return void
	//  */
	// public function detail(): void
	// {
	// 	$id   = $this->post('id');
	// 	$info = query(self::table, "id = '" . $id . "'");
	// 	if (empty($id)) {
	// 		$this->resp['warn'] = "ID为空";
	// 	} elseif (empty($info['id'])) {
	// 		$this->resp['warn'] = "未找到此" . self::title;
	// 	} else {
	// 		$target     = query(self::tableTarget, " id = '$info[targetId]' ");
	// 		$audit      = find([
	// 			'table' => 'auditing_follow',
	// 			'where' => " typeId = '$info[id]'",
	// 		]);
	// 		$result     = find([
	// 			'table' => self::tableMx,
	// 			'where' => " orderId = '$info[id]'  order by time desc",
	// 		]);
	// 		$detail     = $inRecord = [];
	// 		$totalMoney = 0;
	// 		foreach ($result['array'] as $value) {
	// 			$material    = query('material', " id = '$value[materialId]' ");
	// 			$materialSku = query('material_sku', " id = '$value[materialSkuId]' ");
	// 			$warehouse   = query('warehouse', " id = '$value[warehouseId]'");
	// 			$rid         = self::generateId([$value['orderId'], $value['materialSkuId']]);
	// 			$temp        = find(['table' => 'auditing_follow', 'where' => "typeId = '$rid' AND type = '质检单' order by time desc"])['array'];
	// 			$detail[]    = [
	// 				'id'            => $value['id'],
	// 				'materialSkuId' => $value['materialSkuId'],
	// 				'code'          => $material['code'],
	// 				'name'          => $material['name'],
	// 				'skuName'       => $materialSku['name'],
	// 				'brand'         => $material['brand'],
	// 				'mtype'         => inventoryListClass::getTypeName($material['typeId']),
	// 				'model'         => $material['model'],
	// 				'unit'          => $material['unit'],
	// 				'price'         => $value['price'],
	// 				'warehouse'     => $warehouse['name'],
	// 				'warehouseId'   => $warehouse['id'],
	// 				'orderNum'      => $value['orderNum'],
	// 				'num'           => $value['num'],
	// 				'rate'          => $value['rate'],
	// 				'text'          => $value['text'],
	// 				'rateMoney'     => $value['num'] * $value['price'] * $value['rate'],
	// 				'total'         => $value['num'] * $value['price'] * (1 + $value['rate']),
	// 			];
	// 			$totalMoney  += $value['num'] * $value['price'] * (1 + $value['rate']);
	// 			if (!self::is_null_array($temp)) {
	// 				$inRecord = array_merge($inRecord, $temp);
	// 			}
	// 		}
	// 		$data['result'] = [
	// 			'info'        => [
	// 				"id"         => $info['id'],
	// 				'staffName'  => self::findStaff($info['stid']),
	// 				'orderNo'    => $info['orderNo'],
	// 				'orderDate'  => $info['orderDate'],
	// 				'type'       => $info['type'],
	// 				'targetId'   => $target['id'] ?: '',
	// 				'targetName' => $target['name'] ?: '',
	// 				'target'     => $target['name'] ?: '',
	// 				"state"      => $info['state'],
	// 				'text'       => $info['text'],
	// 				'date'       => self::formatDate($info['time'], 'm/d'),
	// 			],
	// 			'detail'      => $detail,
	// 			'inRecord'    => $inRecord ? self::my_sort($inRecord, 'time', SORT_DESC, SORT_STRING) : [],
	// 			'auditRecord' => $audit['array'],
	// 			'total'       => [
	// 				'num'   => count($detail),
	// 				'money' => $totalMoney,
	// 			],
	// 		];
	// 		//返回
	// 		$this->code         = 1;
	// 		$this->resp['data'] = $data;
	// 	}
	// }
	//
	//
	// /**
	//  * 质检
	//  */
	// public function putIn()
	// {
	// 	$id   = $this->post('id');
	// 	$num  = $this->post('num');
	// 	$info = query(self::tableMx, " id = '$id'");
	// 	$res  = query(self::table, " id = '$info[orderId]' ");
	// 	if (!$this->power(self::page, 'edit')) {
	// 		$this->resp['warn'] = '你还没有质检权限';
	// 	} elseif (empty($res['id']) || empty($info['id'])) {
	// 		$this->resp['warn'] = '未找到此质检单';
	// 	} elseif (self::isNull($num)) {
	// 		$this->resp['warn'] = '请填写数量';
	// 	} elseif (!in_array($res['state'], ['待质检', '部分质检'])) {
	// 		$this->resp['warn'] = '此质检单不是质检状态，不能质检';
	// 	} elseif (abs($num) + $info['num'] > $info['orderNum']) {
	// 		$this->resp['warn'] = '质检数量不能超过单据数量，你还可以质检' . ($info['orderNum'] - $info['num']);
	// 	} else {
	// 		$num = abs($num);
	// 		$this->startTrans();
	// 		$isPass             = false; // 事务通过标志
	// 		$detailMoney        = ($info['num'] + $num) * $info['price'] * (1 + $info['rate']);
	// 		$this->resp['warn'] = static::update([
	// 			"table" => self::tableMx,
	// 			"field" => [
	// 				'num'   => $info['num'] + $num,
	// 				'money' => $detailMoney,
	// 			],
	// 			"where" => "id = '$info[id]'",
	// 		]);
	// 		if (in_array($this->resp['warn'], ["新增成功", "更新成功"])) {
	// 			$isPass = true;
	// 			if ($res['state'] == '待质检') {
	// 				static::update([
	// 					'table' => self::table,
	// 					'field' => [
	// 						'state'      => '部分质检',
	// 						'commitTime' => $this->time,
	// 					],
	// 					'where' => " id = '{$res['id']}' ",
	// 				]);
	// 			}
	// 			if ($isPass === true) {
	// 				$mainUnitNum = inventoryBalanceClass::toMainUnit($info['materialSkuId'], $num, $info['unit']);
	// 				insert([
	// 					'table' => self::tableRecord,
	// 					'field' => [
	// 						'id'            => self::getNo(),
	// 						'coid'          => self::$coid,
	// 						'warehouseId'   => $info['warehouseId'],
	// 						'materialId'    => $info['materialId'],
	// 						'materialSkuId' => $info['materialSkuId'],
	// 						'inventoryId'   => $info['orderId'],
	// 						'inventoryMxId' => $info['id'],
	// 						'num'           => $mainUnitNum,
	// 					],
	// 				]);
	// 				// 关联表
	// 				$targetDate = $targetNo = $targetText = $hiddenText = ' ';
	// 				if ($res['sourceTable']) {
	// 					$obj = query($res['sourceTable'], " id = '{$res['sourceId']}' ");
	// 					if (!empty($obj['id'])) {
	// 						$targetDate = $obj['recordDate'];
	// 						$targetNo   = $obj['orderNo'];
	// 						$targetText = $res['type'] . "单【{$obj['orderNo']}】";
	// 						$hiddenText = $res['type'] . '单ID：' . $obj['id'] . '，质检单ID：' . $info['orderId'] . '质检单子ID：' . $info['id'];
	// 					}
	// 				}
	// 				inventoryBalanceClass::insertRecord($res['targetId'], $res['type'], ($num * $info['price'] * (1 + $info['rate'])), self::tableMx, $info['id'], $targetDate, $targetNo, $targetText, $hiddenText);
	// 				$material = query('material', " id = '$info[materialId]' ", 'code, name, brand, model, unit');
	// 				auditingFollow([
	// 					"type"   => "质检单",
	// 					"typeId" => self::generateId([$info['orderId'], $info['materialSkuId']]),
	// 					"text"   => "【{$this->control['name']}】通过【前端】质检【{$material['name']}-{$material['brand']}-{$material['model']}】数量[$num]",
	// 				]);
	// 				$this->commitTrans();//提交事务
	// 			}
	// 			//添加日志
	// 			$type = mb_substr($this->resp['warn'], 0, 2, 'utf-8');
	// 			$text = $this->control['name'] . $type . "了" . self::title . "id：【" . $id . '】';
	// 			$this->logText(["type" => self::page, "text" => $text]);
	// 			$this->resp['data'] = $res['id'];
	// 			$this->code         = 1;
	// 		}
	// 	}
	// 	resp:
	// }
	//
	// /**
	//  * 确认质检
	//  */
	// public function done()
	// {
	// 	$id    = $this->post('id');
	// 	$info  = query(self::table, " classify = 1 AND id = '$id'");
	// 	$field = [
	// 		'state'       => '已质检',
	// 		'confirmTime' => $this->time,
	// 	];
	// 	if (!$this->power(self::page, 'edit')) {
	// 		$this->resp['warn'] = '你还没有完成质检权限';
	// 	} elseif (empty($info['id'])) {
	// 		$this->resp['warn'] = '未找到此质检单';
	// 	} elseif (!in_array($info['state'], ['待质检', '部分质检'])) {
	// 		$this->resp['warn'] = '此质检单不是质检状态，不能质检';
	// 	} else {
	// 		$res = sqlFind(" SELECT IFNULL(SUM(orderNum), 0) as orderNum, IFNULL(SUM(num), 0) as num FROM " . self::tableMx . " WHERE orderId = '$info[id]' ");
	// 		if ($res[0]['orderNum'] !== $res[0]['num']) {
	// 			$this->resp['warn'] = '尚有部分物料未质检，无法质检完成';
	// 			goto resp;
	// 		}
	// 		$this->resp['warn'] = update([
	// 			"table" => self::table,
	// 			"field" => $field,
	// 			"where" => "id = '$info[id]'",
	// 		]);
	// 		if (in_array($this->resp['warn'], ["新增成功", "更新成功"])) {
	// 			auditingFollow(array(
	// 				"type"   => "质检单",
	// 				"typeId" => $info['id'],
	// 				"text"   => "【{$this->control['name']}】确认质检",
	// 			));
	// 			//添加日志
	// 			$type = mb_substr($this->resp['warn'], 0, 2, 'utf-8');
	// 			$text = $this->control['name'] . $type . "了" . self::title . "id：【" . $id . '】';
	// 			$this->logText(["type" => self::page, "text" => $text]);
	// 			$this->code = 1;
	// 		}
	// 	}
	//
	// 	resp:
	// }
	//
	
	
}


